#include "WorkModeReceiverFake.h"

const std::string WorkModeReceiverFake::CHANGE_DESIGNATION = "change_designation";
const std::string WorkModeReceiverFake::CREATE_NEW = "create_new";
const std::string WorkModeReceiverFake::DELETE_TO_TRASH_CAN = "delete_to_trash_can";
const std::string WorkModeReceiverFake::EXTRACT_FROM_PACKAGE = "extract_from_package";
const std::string WorkModeReceiverFake::IMPORT_FROM_FOX_PRO = "import_from_fox_pro";
const std::string WorkModeReceiverFake::IMPORT_FROM_ORACLE = "import_from_oracle";
const std::string WorkModeReceiverFake::MAKE_COPY = "make_copy";
const std::string WorkModeReceiverFake::OPEN_EXISTING = "open_existing";
const std::string WorkModeReceiverFake::QUIT = "quit";
const std::string WorkModeReceiverFake::RESTORE_FROM_TRASH_CAN = "restore_from_trash_can";

Factory < WorkModeReceiverInterface > WorkModeReceiverFake::factory;

WorkModeReceiverFakePtr WorkModeReceiverFake::Spawn ()
{
	return factory.CreateNewObject < WorkModeReceiverFake > ();
}

void WorkModeReceiverFake::CheckInnocence ()
{
	assert ( factory.ObjectsCount () == 0 );
}

void WorkModeReceiverFake::CreateNew ()
{
	callHistory.push_back ( CREATE_NEW );
}

void WorkModeReceiverFake::OpenExisting ()
{
	callHistory.push_back ( OPEN_EXISTING );
}

void WorkModeReceiverFake::ChangeDesignation ()
{
	callHistory.push_back ( CHANGE_DESIGNATION );
}

void WorkModeReceiverFake::MakeCopy ()
{
	callHistory.push_back ( MAKE_COPY );
}

void WorkModeReceiverFake::Quit ()
{
	callHistory.push_back ( QUIT );
}

void WorkModeReceiverFake::DeleteToTrashCan ()
{
	callHistory.push_back ( DELETE_TO_TRASH_CAN );
}

void WorkModeReceiverFake::RestoreFromTrashCan ()
{
	callHistory.push_back ( RESTORE_FROM_TRASH_CAN );
}

void WorkModeReceiverFake::ExtractFromPackage ()
{
	callHistory.push_back ( EXTRACT_FROM_PACKAGE );
}

void WorkModeReceiverFake::ImportFromFoxPro ()
{
	callHistory.push_back ( IMPORT_FROM_FOX_PRO );
}

void WorkModeReceiverFake::ImportFromOracle ()
{
	callHistory.push_back ( IMPORT_FROM_ORACLE );
}
